/* usado por fichaUsuario */
function validar(ev) {

    function ponerError(elem, msj) {
        if(!errores) $(elem).focus()
        errores++
        $(elem).insert({ after: '<span class="error">' + msj + '</span>' })
    }
    $$('.error').invoke('remove')
    var errores=0
    var alphanum = /^[\w\s\.!\?\¿\$\-]*$/

    if($F('sf_guard_user_username').length==0) {
        ponerError('sf_guard_user_username','Debe indicar el nombre del usuario')
    } else if(!alphanum.test($F('sf_guard_user_username'))) {
        ponerError('sf_guard_user_username','Solo debe ingresar letras y/o números')
    }
    if($('sf_guard_user_password').changed=="true") {
        if($F('sf_guard_user_password').length==0) {
            ponerError('sf_guard_user_password','Debe indicar una contraseña para el usuario')
        } else if(!alphanum.test($F('sf_guard_user_password'))) {
            ponerError('sf_guard_user_password','Solo debe ingresar letras y/o números')
        }
    }

    if($('sf_guard_user_password').changed || $F('sf_guard_user_password_again')) {
        if($F('sf_guard_user_password_again').length==0) {
            ponerError('sf_guard_user_password_again','Debe reingresar la contraseña del usuario')
        } else if(!alphanum.test($F('sf_guard_user_password_again'))) {
            ponerError('sf_guard_user_password_again','Solo debe ingresar letras y/o números')
        } else if($F('sf_guard_user_password')!=$F('sf_guard_user_password_again')) {
            ponerError('sf_guard_user_password_again','El reingreso no coincide con la contraseña')
        }
    } else if(!($('sf_guard_user_password').changed) && !$F('sf_guard_user_password_again').length) {
        $('sf_guard_user_password_again').value = $F('sf_guard_user_password')
    }

    if(errores) ev.preventDefault()
}


Event.observe(window, 'load',
    function(e) {
        ($$('#sf_admin_content form')[0]).observe('submit', validar)
        $('sf_guard_user_password').observe('change',
            function(e) {
              $('sf_guard_user_password').changed="true"
            }
        )
        $('sf_guard_user_first_name').select()
    }
)


